<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml"
      xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <title>协议生成管理</title>
    <link rel="stylesheet" href="../static/layui/css/layui.css">
    <style>
        body{margin: 10px;}
        .demo-carousel{height: 200px; line-height: 200px; text-align: center;}
    </style>
</head>

<body>
<table id="versions" lay-filter="test"></table>
<script type="text/html" id="barDemo">
    <a class="layui-btn layui-btn-xs" lay-event="edit">编辑模块</a>
    <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
</script>
<script src="../static/jquery/jquery-3.4.1.js"></script>
<script src="../static/layui/layui.js"></script>

<script type="text/javascript"  th:inline="none">
    layui.use('table', function(){
        var table = layui.table;
        //第一个实例
        table.render({
            elem: '#versions',
            height: 800,
            url: '/version/list', //数据接口
            page: true ,//开启分页
            toolbar: 'default',
            cols: [[ //表头
                {field: 'version', title: '版本号', width:80, sort: true, fixed: 'left'}
                ,{field: 'serverRootDir', title: '服务器代码路径', width:300}
                ,{field: 'messageDir', title: 'message路径', width:300}
                ,{fixed: 'right', title:'操作', toolbar: '#barDemo', width:200}
            ]]
        });

        //监听工具条
        table.on('tool(test)', function(obj){ //注：tool 是工具条事件名，test 是 table 原始容器的属性 lay-filter="对应的值"
            var data = obj.data; //获得当前行数据
            var layEvent = obj.event; //获得 lay-event 对应的值（也可以是表头的 event 参数对应的值）
            var tr = obj.tr; //获得当前行 tr 的 DOM 对象（如果有的话）
            if(layEvent === 'del'){ //删除
                layer.confirm('真的删除行么', function(index){
                    layer.close(index);
                    $.ajax({
                        type: 'GET',
                        url: '/version/delete?version='+data.version,
                        dataType:"json", //返回格式为json
                        contentType: 'application/x-www-form-urlencoded',
                        success: function(data){
                            if(data.code==0){
                                obj.del(); //删除对应行（tr）的DOM结构，并更新缓存
                                layer.alert("删除成功！");
                            }else{
                                layer.alert("删除失败！");
                            }
                        },
                        error: function(jqXHR){console.log(jqXHR)},
                    });
                    //向服务端发送删除指令
                });
            }else if(layEvent === 'edit'){ //编辑模块
                //同步更新缓存对应的值
                layer.open({
                    type: 2 //此处以iframe举例
                    ,title: '编辑版本'
                    ,area: ['1000px', '500px']
                    ,shade: 0
                    ,maxmin: true
                    ,offset: [ //为了演示，随机坐标
                        300
                        ,390
                    ]
                    ,content:"/version/edit?version="+data.version
                    ,zIndex: layer.zIndex //重点1
                    ,success: function(layero){
                        layer.setTop(layero); //重点2
                    }
                });
            }
        });

        //监听头工具栏事件
        table.on('toolbar(test)', function(obj){
            var checkStatus = table.checkStatus(obj.config.id)
                ,data = checkStatus.data; //获取选中的数据
            switch(obj.event){
                case 'add':
                    layer.open({
                        type: 2 //此处以iframe举例
                        ,title: '新增版本'
                        ,area: ['1000px', '500px']
                        ,shade: 0
                        ,maxmin: true
                        ,offset: [ //为了演示，随机坐标
                            300
                            ,390
                        ]
                        ,content: '/version/  '
                        ,zIndex: layer.zIndex //重点1
                        ,success: function(layero){
                            layer.setTop(layero); //重点2
                        }
                    });
                    break;
            };
        });
    });
</script>
</body>
</html>
</html>
